console.log('=========================');
let flag = false;
console.log('flag = ', flag);
let num1 = 1;
console.log('num1 = ', num1);
let un1 = undefined;
let un2 = null;
// undefined 、 null 可以赋值给其他类型
let un3 = un1;
let un4 = un2;
console.log('un1 = ', un1);
console.log('un2 = ', un2);
console.log('=========================');
// 数组类型
// 数组定义方式1 
// let 变量名： 数据类型[] = [值1， 值2, 值3]
let arr1 = [1, 2, 3];
console.log('arr1 = ', arr1);
let arr2 = [100, 200, 300];
console.log('arr2 = ', arr2);
// 元组类型
let arr3 = [
    '小甜 甜', 100.123234, false
];
console.log('arr3 = ', arr3);
// 注意问题： 元素类型在使用的时候， 数据的类型
// 的位置的数据个数，应该与定义元素时候的数据类型和数据位置相一致
console.log(arr3[0].split[' ']);
console.log(arr3[1].toFixed(2));
console.log('=========================');
// 枚举类型, 枚举里面的每个数据值都可以叫元素
// 每个元素有自己的下标
var Color;
(function (Color) {
    Color[Color["red"] = 0] = "red";
    Color[Color["green"] = 1] = "green";
    Color[Color["blue"] = 2] = "blue";
})(Color || (Color = {}));
let color = Color.red;
console.log(color);
console.log(Color.red, Color.blue);
console.log(Color[2]);
console.log('=========================');
//  any 类型
let str = 100;
str = "我是字符串啊";
let arr_any = [1, 2, 'str'];
console.log(arr_any);
//  void 类型, 
function showMsg() {
    console.log("只要===== void");
}
showMsg();
console.log(showMsg());
console.log('=========================');
// object 类型
function getObj(obj) {
    console.log(obj);
    return {
        name: '卡夫卡',
        age: 27
    };
}
console.log(getObj({ name: '左右', age: 20 }));
console.log(getObj({ str: 123 }));
console.log(getObj(new String('123')));
// 联合类型 Union Types
function getString(str) {
    return str.toString();
}
console.log(getString('123'));
console.log(getString(123444));
// 类型断言 
// 1. <类型>值
// 2. (值 as <类型>)
function getLength(str) {
    // return str.toString().length
    // 类型断言 (<string>str)
    if (str.length) {
        return str.length;
    }
    else {
        return str.toString().length;
    }
}
console.log(getLength(12323));
console.log(getLength('123'));
// 类型推断 
let b9 = 123; // 推断  number 类型
// b9 = 'str1'
let b10; //  推断 any 类型
b10 = 'str';
console.log('b9 = ', b9);
console.log('b10 = ', b10);
